﻿function HashTable() {
    this.__hash = {};
    this.Add = function (key, value) {
        if (typeof (key) != "undefined") {
            //if it not contains in hashtable 
            if (!this.contains(key)) {
                this.__hash[key] = typeof (value) == "undefined" ? null : value;
                return true;
            }
            else {
                return false;
            }
        }
    };
    this.Remove = function (key) {
        delete this.__hash[key];
    };
    this.count = function () {
        var i = 0;
        for (var obj in this.__hash) {
            i++;
        }
        return i;
    };
    this.items = function (key) {
        return this.__hash[key];
    };
    this.contains = function (key) {
        return typeof (this.__hash[key]) != "undefined";
    };
    this.clear = function () {
        for (var obj in this.__hash) {
            delete this.__hash[k];
        }
    };
}